let lastSearch;
let lastOverridden;

export default Ember.Controller.extend({
  searching: false,
  siteTexts: null,
  preferred: false,
  queryParams: ['q', 'overridden'],

  q: null,
  overridden: null,

  _performSearch() {
    this.store.find('site-text', this.getProperties('q', 'overridden')).then(results => {
      this.set('siteTexts', results);
    }).finally(() => this.set('searching', false));
  },

  actions: {
    edit(siteText) {
      this.transitionToRoute('adminSiteText.edit', siteText.get('id'));
    },

    search(overridden) {
      this.set('overridden', overridden);

      const q = this.get('q');
      if (q !== lastSearch || overridden !== lastOverridden) {
        this.set('searching', true);
        Ember.run.debounce(this, this._performSearch, 400);
        lastSearch = q;
        lastOverridden = overridden;
      }
    }
  }
});
